#include <stdio.h>

typedef void(*CallbackFun)(int);   //void类型的函数指针,CallbackFun被声明成了一种类型，如同int char一样
void printWelcome(int len){        //自己的实现函数要和函数指针形式相一致
    printf("WelcomeWelcome -- %d\n", len);
}

void printGoodbye(int len){
    printf("GoodbyeGoodbye -- %d\n", len);
}

void testfun_API(int times, CallbackFun pFun){  //模拟API函数或DLL函数
    for (int i = 0; i < times; ++i)
    {
        pFun(i);
    }
    printf("Goodbye??????Welcome??????\n");
}

int main(void)
{
    testfun_API(10, printWelcome); //调用 API
    testfun_API(10, printGoodbye);
    printWelcome(5);

    return 0;
}
